let t = require;
let  e = module
let  o =  e.exports;
 o.default =  e.exports;

                'use strict';
                console.log("start");
                var _n95,
                    i =
                    (this && this.__extends) ||
                    ((_n95 = function n(t, e) {
                            return (_n95 =
                                Object.setPrototypeOf ||
                                ({
                                        __proto__: []
                                    }
                                    instanceof Array &&
                                    function(t, e) {
                                        t.__proto__ = e;
                                    }) ||
                                function(t, e) {
                                    for (var o in e) {
                                        Object.prototype.hasOwnProperty.call(e, o) && (t[o] = e[o]);
                                    }
                                })(t, e);
                        }),
                        function(t, e) {
                            function o() {
                                this.constructor = t;
                            }
                            _n95(t, e),
                                (t.prototype =
                                    null === e ?
                                    Object.create(e) :
                                    ((o.prototype = e.prototype), new o()));
                        });
                Object.defineProperty(o, '__esModule', {
                        value: !0
                    }),
                    (o.GongJian = void 0);
                var r = t('MathUtils'),
                    a = t('BattleUtils'),
                    s = (function(t) {
                        function e() {
                            return (null !== t && t.apply(this, arguments)) || this;
                        }
                        return (
                            i(e, t),
                            (e.prototype.initParam = function() {
                                var t = r.default.distance2(
                                        this.entity.x,
                                        this.entity.y,
                                        this._to.x,
                                        this._to.y
                                    ),
                                    e = r.default.randomFloat(50, 80),
                                    o = t / a.default.WeaponSpeed / 2;
                                (this._radian = Math.atan2(
                                    this._to.y - this.entity.y,
                                    this._to.x - this.entity.x
                                )),
                                (this._jumpTime = 0),
                                (this._jumpSpeed = (2 * e) / o),
                                (this._gravity = this._jumpSpeed / o),
                                (this._jumpY = this.entity.y),
                                (this._jumpDis = t);
                            }),
                            Object.defineProperty(e.prototype, 'info', {
                                get: function get() {
                                    return this._info;
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            (e.prototype.onUpdate = function(t) {
                                var e = a.default.WeaponSpeed * t,
                                    o = e * Math.cos(this._radian),
                                    n = e * Math.sin(this._radian);
                                if (((this._jumpDis -= e), this._jumpDis > 0)) {
                                    this._jumpTime += t;
                                    var i =
                                        this._jumpSpeed * this._jumpTime -
                                        0.5 * this._gravity * Math.pow(this._jumpTime, 2),
                                        s = this.entity.x + o,
                                        c = this._jumpY + i;
                                    (this.entity.angle =
                                        Math.atan2(c - this.entity.y, s - this.entity.x) *
                                        r.default.Rad2Deg),
                                    (this.entity.x = s),
                                    (this.entity.y = c),
                                    (this._jumpY += n);
                                } else this.hit();
                            }),
                            e
                        );
                    })(t('BattleWeapon').BattleWeapon);
                (o.GongJian = s), console.log("end");
            module.exports =  e.exports;